package com.huawei.M01.iterator.June25;

/**
 * 双指针删除数组中重复的数字
 *
 * @author zhiwu
 */
public class SlideWind {
    public int delRepeatNum(int[] nums) {
        // nums 是一个有序数组
        // 使用双指针的方法直接进行删除
        int left = 0;
        int right = 0;
        while (right < nums.length) {
            while (right + 1 < nums.length && nums[right] == nums[right + 1]) {
                right++;
            }
            nums[left] = nums[right];
            left++;
            right++;
        }
        return left;
    }

    public static void main(String[] args) {
        int[] input = new int[]{1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 6};
        int i = new SlideWind().delRepeatNum(input);
        System.out.println(i);
        for (int i1 : input) {
            System.out.print(i1);
        }
    }
}
